{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE RecordWildCards #-}

foo x y = Foo { x, y }

bar x y z = Bar {
    x,
    y,
    z,
    ..
}

baz = Baz { .. }
